aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/blog/[id=int]/+page.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/blog/[id=int]/+page.svelte')
-rw-r--r--src/routes/blog/[id=int]/+page.svelte31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/routes/blog/[id=int]/+page.svelte b/src/routes/blog/[id=int]/+page.svelte
new file mode 100644
index 0000000..84d33ef
--- /dev/null
+++ b/src/routes/blog/[id=int]/+page.svelte
@@ -0,0 +1,31 @@
+<script lang="ts">
+ import { replaceState } from '$app/navigation';
+ import { onMount, tick } from 'svelte';
+
+ import type { PageProps } from './$types';
+ import { resolve } from '$app/paths';
+ import { page } from '$app/state';
+ import { forceTrailingSlash } from '$/lib';
+ import Post from '$/lib/blog/Post.svelte';
+
+ let { data }: PageProps = $props();
+
+ let route = $derived(
+ forceTrailingSlash(
+ resolve('/blog/[id=int]-[slug]', {
+ id: data.post.metadata.id.toString(),
+ slug: data.post.metadata.slug,
+ }),
+ ),
+ );
+
+ onMount(() => {
+ tick().then(() => replaceState(route, page.state));
+ });
+</script>
+
+<svelte:head>
+ <link rel="canonical" href={new URL(route, page.url).href} />
+</svelte:head>
+
+<Post post={data.post} filename={data.filename} />